
from card import Card

draw_cards = [
{"CardName": "Jail", "Rank": "10", "Suit": "Spades", "Color": "Blue", "Amount": "1", "Range": "", "Type": "Jail", "Set": "Bang"},
{"CardName": "Jail", "Rank": "4", "Suit": "Hearts", "Color": "Blue", "Amount": "1", "Range": "", "Type": "Jail", "Set": "Bang"},
{"CardName": "Jail", "Rank": "J", "Suit": "Spades", "Color": "Blue", "Amount": "1", "Range": "", "Type": "Jail", "Set": "Bang"},
{"CardName": "Appaloosa", "Rank": "A", "Suit": "Spades", "Color": "Blue", "Amount": "1", "Range": "Minus 1", "Type": "Appaloosa", "Set": "Bang"},
{"CardName": "Barrel", "Rank": "Q", "Suit": "Spades", "Color": "Blue", "Amount": "1", "Range": "", "Type": "Barrel", "Set": "Bang"},
{"CardName": "Barrel", "Rank": "K", "Suit": "Spades", "Color": "Blue", "Amount": "1", "Range": "", "Type": "Barrel", "Set": "Bang"},
{"CardName": "Dynamite", "Rank": "2", "Suit": "Hearts", "Color": "Blue", "Amount": "1", "Range": "", "Type": "Dynamite", "Set": "Bang"},
{"CardName": "Mustang", "Rank": "8", "Suit": "Hearts", "Color": "Blue", "Amount": "1", "Range": "Plus 1", "Type": "Mustang", "Set": "Bang"},
{"CardName": "Mustang", "Rank": "9", "Suit": "Hearts", "Color": "Blue", "Amount": "1", "Range": "Plus 1", "Type": "Mustang", "Set": "Bang"},
{"CardName": "Remington", "Rank": "K", "Suit": "Clubs", "Color": "Blue", "Amount": "1", "Range": "3", "Type": "Gun", "Set": "Bang"},
{"CardName": "Rev. Carabine", "Rank": "A", "Suit": "Clubs", "Color": "Blue", "Amount": "1", "Range": "4", "Type": "Gun", "Set": "Bang"},
{"CardName": "Schofield", "Rank": "K", "Suit": "Spades", "Color": "Blue", "Amount": "1", "Range": "2", "Type": "Gun", "Set": "Bang"},
{"CardName": "Schofield", "Rank": "J", "Suit": "Clubs", "Color": "Blue", "Amount": "1", "Range": "2", "Type": "Gun", "Set": "Bang"},
{"CardName": "Schofield", "Rank": "Q", "Suit": "Clubs", "Color": "Blue", "Amount": "1", "Range": "2", "Type": "Gun", "Set": "Bang"},
{"CardName": "Volcanic", "Rank": "10", "Suit": "Spades", "Color": "Blue", "Amount": "1", "Range": "1", "Type": "Gun", "Set": "Bang"},
{"CardName": "Volcanic", "Rank": "10", "Suit": "Clubs", "Color": "Blue", "Amount": "1", "Range": "1", "Type": "Gun", "Set": "Bang"},
{"CardName": "Winchester", "Rank": "8", "Suit": "Spades", "Color": "Blue", "Amount": "1", "Range": "5", "Type": "Gun", "Set": "Bang"},
{"CardName": "Bang!", "Rank": "A", "Suit": "Hearts", "Color": "Gold", "Amount": "1", "Range": "", "Type": "Bang!", "Set": "Bang"},
{"CardName": "Bang!", "Rank": "2", "Suit": "Diamonds", "Color": "Gold", "Amount": "1", "Range": "", "Type": "Bang!", "Set": "Bang"},
{"CardName": "Bang!", "Rank": "K", "Suit": "Hearts", "Color": "Gold", "Amount": "1", "Range": "", "Type": "Bang!", "Set": "Bang"},
{"CardName": "Bang!", "Rank": "9", "Suit": "Diamonds", "Color": "Gold", "Amount": "1", "Range": "", "Type": "Bang!", "Set": "Bang"},
{"CardName": "Bang!", "Rank": "8", "Suit": "Clubs", "Color": "Gold", "Amount": "1", "Range": "", "Type": "Bang!", "Set": "Bang"},
{"CardName": "Bang!", "Rank": "Q", "Suit": "Hearts", "Color": "Gold", "Amount": "1", "Range": "", "Type": "Bang!", "Set": "Bang"},
{"CardName": "Bang!", "Rank": "5", "Suit": "Clubs", "Color": "Gold", "Amount": "1", "Range": "", "Type": "Bang!", "Set": "Bang"},
{"CardName": "Bang!", "Rank": "3", "Suit": "Diamonds", "Color": "Gold", "Amount": "1", "Range": "", "Type": "Bang!", "Set": "Bang"},
{"CardName": "Bang!", "Rank": "5", "Suit": "Diamonds", "Color": "Gold", "Amount": "1", "Range": "", "Type": "Bang!", "Set": "Bang"},
{"CardName": "Bang!", "Rank": "9", "Suit": "Clubs", "Color": "Gold", "Amount": "1", "Range": "", "Type": "Bang!", "Set": "Bang"},
{"CardName": "Bang!", "Rank": "3", "Suit": "Clubs", "Color": "Gold", "Amount": "1", "Range": "", "Type": "Bang!", "Set": "Bang"},
{"CardName": "Bang!", "Rank": "8", "Suit": "Diamonds", "Color": "Gold", "Amount": "1", "Range": "", "Type": "Bang!", "Set": "Bang"},
{"CardName": "Bang!", "Rank": "A", "Suit": "Diamonds", "Color": "Gold", "Amount": "1", "Range": "", "Type": "Bang!", "Set": "Bang"},
{"CardName": "Bang!", "Rank": "4", "Suit": "Clubs", "Color": "Gold", "Amount": "1", "Range": "", "Type": "Bang!", "Set": "Bang"},
{"CardName": "Bang!", "Rank": "Q", "Suit": "Diamonds", "Color": "Gold", "Amount": "1", "Range": "", "Type": "Bang!", "Set": "Bang"},
{"CardName": "Bang!", "Rank": "K", "Suit": "Diamonds", "Color": "Gold", "Amount": "1", "Range": "", "Type": "Bang!", "Set": "Bang"},
{"CardName": "Bang!", "Rank": "A", "Suit": "Spades", "Color": "Gold", "Amount": "1", "Range": "", "Type": "Bang!", "Set": "Bang"},
{"CardName": "Bang!", "Rank": "10", "Suit": "Diamonds", "Color": "Gold", "Amount": "1", "Range": "", "Type": "Bang!", "Set": "Bang"},
{"CardName": "Bang!", "Rank": "6", "Suit": "Clubs", "Color": "Gold", "Amount": "1", "Range": "", "Type": "Bang!", "Set": "Bang"},
{"CardName": "Bang!", "Rank": "4", "Suit": "Diamonds", "Color": "Gold", "Amount": "1", "Range": "", "Type": "Bang!", "Set": "Bang"},
{"CardName": "Bang!", "Rank": "6", "Suit": "Diamonds", "Color": "Gold", "Amount": "1", "Range": "", "Type": "Bang!", "Set": "Bang"},
{"CardName": "Bang!", "Rank": "7", "Suit": "Diamonds", "Color": "Gold", "Amount": "1", "Range": "", "Type": "Bang!", "Set": "Bang"},
{"CardName": "Bang!", "Rank": "7", "Suit": "Clubs", "Color": "Gold", "Amount": "1", "Range": "", "Type": "Bang!", "Set": "Bang"},
{"CardName": "Bang!", "Rank": "J", "Suit": "Diamonds", "Color": "Gold", "Amount": "1", "Range": "", "Type": "Bang!", "Set": "Bang"},
{"CardName": "Bang!", "Rank": "2", "Suit": "Clubs", "Color": "Gold", "Amount": "1", "Range": "", "Type": "Bang!", "Set": "Bang"},
{"CardName": "Beer", "Rank": "8", "Suit": "Hearts", "Color": "Gold", "Amount": "1", "Range": "Self", "Type": "Beer", "Set": "Bang"},
{"CardName": "Beer", "Rank": "9", "Suit": "Hearts", "Color": "Gold", "Amount": "1", "Range": "Self", "Type": "Beer", "Set": "Bang"},
{"CardName": "Beer", "Rank": "6", "Suit": "Hearts", "Color": "Gold", "Amount": "1", "Range": "Self", "Type": "Beer", "Set": "Bang"},
{"CardName": "Beer", "Rank": "J", "Suit": "Hearts", "Color": "Gold", "Amount": "1", "Range": "Self", "Type": "Beer", "Set": "Bang"},
{"CardName": "Beer", "Rank": "10", "Suit": "Hearts", "Color": "Gold", "Amount": "1", "Range": "Self", "Type": "Beer", "Set": "Bang"},
{"CardName": "Beer", "Rank": "7", "Suit": "Hearts", "Color": "Gold", "Amount": "1", "Range": "Self", "Type": "Beer", "Set": "Bang"},
{"CardName": "Cat Balou", "Rank": "K", "Suit": "Hearts", "Color": "Gold", "Amount": "1", "Range": "Any", "Type": "Cat Balou", "Set": "Bang"},
{"CardName": "Cat Balou", "Rank": "9", "Suit": "Diamonds", "Color": "Gold", "Amount": "1", "Range": "Any", "Type": "Cat Balou", "Set": "Bang"},
{"CardName": "Cat Balou", "Rank": "10", "Suit": "Diamonds", "Color": "Gold", "Amount": "1", "Range": "Any", "Type": "Cat Balou", "Set": "Bang"},
{"CardName": "Cat Balou", "Rank": "J", "Suit": "Diamonds", "Color": "Gold", "Amount": "1", "Range": "Any", "Type": "Cat Balou", "Set": "Bang"},
{"CardName": "Duel", "Rank": "Q", "Suit": "Diamonds", "Color": "Gold", "Amount": "1", "Range": "Any", "Type": "Duel", "Set": "Bang"},
{"CardName": "Duel", "Rank": "J", "Suit": "Spades", "Color": "Gold", "Amount": "1", "Range": "Any", "Type": "Duel", "Set": "Bang"},
{"CardName": "Duel", "Rank": "8", "Suit": "Clubs", "Color": "Gold", "Amount": "1", "Range": "Any", "Type": "Duel", "Set": "Bang"},
{"CardName": "Gatling", "Rank": "10", "Suit": "Hearts", "Color": "Gold", "Amount": "1", "Range": "All", "Type": "Gatling", "Set": "Bang"},
{"CardName": "General Store", "Rank": "9", "Suit": "Clubs", "Color": "Gold", "Amount": "1", "Range": "All", "Type": "General Store", "Set": "Bang"},
{"CardName": "General Store", "Rank": "Q", "Suit": "Spades", "Color": "Gold", "Amount": "1", "Range": "All", "Type": "General Store", "Set": "Bang"},
{"CardName": "Indians!", "Rank": "A", "Suit": "Diamonds", "Color": "Gold", "Amount": "1", "Range": "All", "Type": "Indians!", "Set": "Bang"},
{"CardName": "Indians!", "Rank": "K", "Suit": "Diamonds", "Color": "Gold", "Amount": "1", "Range": "All", "Type": "Indians!", "Set": "Bang"},
{"CardName": "Missed!", "Rank": "J", "Suit": "Clubs", "Color": "Gold", "Amount": "1", "Range": "", "Type": "Missed!", "Set": "Bang"},
{"CardName": "Missed!", "Rank": "3", "Suit": "Clubs", "Color": "Gold", "Amount": "1", "Range": "", "Type": "Missed!", "Set": "Bang"},
{"CardName": "Missed!", "Rank": "2", "Suit": "Spades", "Color": "Gold", "Amount": "1", "Range": "", "Type": "Missed!", "Set": "Bang"},
{"CardName": "Missed!", "Rank": "10", "Suit": "Clubs", "Color": "Gold", "Amount": "1", "Range": "", "Type": "Missed!", "Set": "Bang"},
{"CardName": "Missed!", "Rank": "6", "Suit": "Spades", "Color": "Gold", "Amount": "1", "Range": "", "Type": "Missed!", "Set": "Bang"},
{"CardName": "Missed!", "Rank": "K", "Suit": "Clubs", "Color": "Gold", "Amount": "1", "Range": "", "Type": "Missed!", "Set": "Bang"},
{"CardName": "Missed!", "Rank": "4", "Suit": "Spades", "Color": "Gold", "Amount": "1", "Range": "", "Type": "Missed!", "Set": "Bang"},
{"CardName": "Missed!", "Rank": "8", "Suit": "Spades", "Color": "Gold", "Amount": "1", "Range": "", "Type": "Missed!", "Set": "Bang"},
{"CardName": "Missed!", "Rank": "5", "Suit": "Spades", "Color": "Gold", "Amount": "1", "Range": "", "Type": "Missed!", "Set": "Bang"},
{"CardName": "Missed!", "Rank": "Q", "Suit": "Clubs", "Color": "Gold", "Amount": "1", "Range": "", "Type": "Missed!", "Set": "Bang"},
{"CardName": "Missed!", "Rank": "A", "Suit": "Clubs", "Color": "Gold", "Amount": "1", "Range": "", "Type": "Missed!", "Set": "Bang"},
{"CardName": "Missed!", "Rank": "7", "Suit": "Spades", "Color": "Gold", "Amount": "1", "Range": "", "Type": "Missed!", "Set": "Bang"},
{"CardName": "Panic!", "Rank": "8", "Suit": "Diamonds", "Color": "Gold", "Amount": "1", "Range": "", "Type": "Panic!", "Set": "Bang"},
{"CardName": "Panic!", "Rank": "J", "Suit": "Hearts", "Color": "Gold", "Amount": "1", "Range": "", "Type": "Panic!", "Set": "Bang"},
{"CardName": "Panic!", "Rank": "A", "Suit": "Hearts", "Color": "Gold", "Amount": "1", "Range": "", "Type": "Panic!", "Set": "Bang"},
{"CardName": "Panic!", "Rank": "Q", "Suit": "Hearts", "Color": "Gold", "Amount": "1", "Range": "", "Type": "Panic!", "Set": "Bang"},
{"CardName": "Saloon", "Rank": "5", "Suit": "Hearts", "Color": "Gold", "Amount": "1", "Range": "All", "Type": "Saloon", "Set": "Bang"},
{"CardName": "Stagecoach", "Rank": "9", "Suit": "Spades", "Color": "Gold", "Amount": "2", "Range": "", "Type": "Stagecoach", "Set": "Bang"},
{"CardName": "Stagecoach", "Rank": "9", "Suit": "Spades", "Color": "Gold", "Amount": "2", "Range": "", "Type": "Stagecoach", "Set": "Bang"},
{"CardName": "Wells Fargo", "Rank": "3", "Suit": "Hearts", "Color": "Gold", "Amount": "3", "Range": "", "Type": "Wells Fargo", "Set": "Bang"}
]

character_cards = [
{"Name": "Bart Cassidy", "Text": "Each time he is hit, he draws a card.", "Life": "4", "Set": "Bang"},
{"Name": "Black Jack", "Text": "He shows the second card he draws. On Hearts or Diamonds he draws one more card", "Life": "4", "Set": "Bang"},
{"Name": "Calamity Janet", "Text": "She can play Bang! Cards as Missed! Cards and vice versa.", "Life": "4", "Set": "Bang"},
{"Name": "El Gringo", "Text": "Each time he is hit by a player, he draws a card from the hand of that player.", "Life": "3", "Set": "Bang"},
{"Name": "Jesse Jones", "Text": "He may draw his first card from the hand of a player.", "Life": "4", "Set": "Bang"},
{"Name": "Jourdonnais", "Text": "Whenever he is the target of a Bang!, he may \"draw!\": on a Heart, he is missed.", "Life": "4", "Set": "Bang"},
{"Name": "Kit Carlson", "Text": "He looks at the top 3 cards of the deck and chooses the 2 to draw.", "Life": "4", "Set": "Bang"},
{"Name": "Lucky Duke", "Text": "Each time he \"draws!\", he flips the top two cards and chooses one.", "Life": "4", "Set": "Bang"},
{"Name": "Paul Regret", "Text": "All players see him at a distance increased by 1.", "Life": "3", "Set": "Bang"},
{"Name": "Pedro Ramirex", "Text": "He may draw his first card from the discard pile.", "Life": "4", "Set": "Bang"},
{"Name": "Rose Doolan", "Text": "She sees all players at a distance decreased by 1.", "Life": "4", "Set": "Bang"},
{"Name": "Sid Ketchum", "Text": "He may discard 2 cards to regain one life point.", "Life": "4", "Set": "Bang"},
{"Name": "Slab the Killer", "Text": "Player needs 2 Missed! Cards to cancel his Bang! Card.", "Life": "4", "Set": "Bang"},
{"Name": "Suzy Lafayette", "Text": "As soon as she has no cards in hand, she draws a card.", "Life": "4", "Set": "Bang"},
{"Name": "Vulture Sam", "Text": "Whenever a player is eliminated from play, he takes in hand all the cards of that player", "Life": "4", "Set": "Bang"},
{"Name": "Willy The Kid", "Text": "He can play any number of Bang! Cards.", "Life": "4", "Set": "Bang"}
]

role_cards = [
{"Name": "Sheriff", "Text": "Kill all the Outlaws and the Renegade!", "Set": "Bang"},
{"Name": "Deputy", "Text": "Protect the Sheriff! Kill all the Outlaws and the Renegade!", "Set": "Bang"},
{"Name": "Deputy", "Text": "Protect the Sheriff! Kill all the Outlaws and the Renegade!", "Set": "Bang"},
{"Name": "Outlaw", "Text": "Kill the Sheriff!", "Set": "Bang"},
{"Name": "Outlaw", "Text": "Kill the Sheriff!", "Set": "Bang"},
{"Name": "Outlaw", "Text": "Kill the Sheriff!", "Set": "Bang"},
{"Name": "Renegade", "Text": "Be the last one in play!", "Set": "Bang"}
]

def get_draw_cards(user_num):
    c = draw_cards[2:]
    if user_num > 4:
        c.append(draw_cards[1])
    if user_num > 5:
        c.append(draw_cards[0])
        
    return Card(c)

def get_character_cards():
    return Card(character_cards)

def get_role_cards(user_num):
    c = [role_cards[0]]
    if user_num == 4:
        c.extend(role_cards[4:])
    elif user_num == 5:
        c.append(role_cards[1])
        c.extend(role_cards[4:])
    elif user_num == 6:
        c.append(role_cards[1])
        c.extend(role_cards[3:])
    elif user_num == 7:
        c.extend(role_cards[1:])
    return Card(c)
